package Opgave4_1;



public class TestOwnExceptions {

	public static void main(String[] args) {

//		System.out.println("Kalder throwMyCheckedException");
		try{
			throwMyCheckedException();
		}
		catch( MyCheckedException e){
			System.out.println("MyCheckedException bliver kaldt");
		}
 
		System.out.println("Kalder throwMyUncheckedException");
		try{
			throwMyUncheckedException();
		}
		catch( MyUncheckedException e){
			System.out.println("Fangede min unchecked exception");
			
		}
		// throwMyUncheckedException();
		
		/*
		 * Da vi har at gøre med en unchecked exception
		 * behøver jeg ikke at "håndtere" den og hvis den ikke omsluttet af 
		 * en try catch blok, så vil jeg få en rumtime exception og programmet
		 * vil "crashe".
		 */
	}

	public static void throwMyCheckedException() throws MyCheckedException {
		throw new MyCheckedException();	
	}

	public static void throwMyUncheckedException() {
		throw new MyUncheckedException();
	}	
}

@SuppressWarnings("serial")
class MyCheckedException extends Exception{
	public MyCheckedException(){ super(); }		
}

@SuppressWarnings("serial")
class MyUncheckedException extends RuntimeException{
	public MyUncheckedException(){ super(); }	
}

